Expand description

This crate contains common types and infrastructure for Sunscreen’s compilers.

Modules

Structs

  • The result of a frontend compiler.
  • A compilation context. This stores the current parse graph.
  • A wrapper for ascertaining the structure of the underlying graph. This type is used in forward_traverse and reverse_traverse callbacks.
  • Information about a node in the compilation graph.
  • A type which represents the fully qualified name and version of a datatype.

Enums

  • Information about how one compiler graph node relates to another.
  • An error that can occur when querying various aspects about an operation graph.

Traits

  • A supertrait that concisely contains all the traits needed to serve as an operation for NodeInfo.
  • Renders this object into a format that can be viewed by external tooling (e.g. DotViz, HTML, etc.)
  • A list of transformations that should be applied to the graph.
  • A trait the gives a name an version to a given type

Functions

  • Call the supplied callback for each node in the given graph in topological order.
  • A specialized topological DAG traversal that allows the following graph mutations during traversal:
  • Call the supplied callback for each node in the given graph in reverse topological order.
  • A specialized reverse topological DAG traversal that allows the following graph mutations during traversal: